home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128Toolkit / PRG-64.ARC / PGM COMMANDS.DOC < prev    next >
Encoding:
Text File  |  2019-04-13  |  22.7 KB  |  453 lines

  1.                                   ╨╟═-64
  2.                ╨ROGRAM ╟RAPHICS ═ANAGEMENT ON THE ├OMMODORE 64
  3.              ┬Y ─AVID ╨. ─ARUS, ╦EN ╞RENCH, AND ╠OUIS ╥. ╫ALLACE
  4.  
  5.     ╧RIGINALLY PUBLISHED IN ├OMMODORE ╨OWER/╨LAY -- ╞EBRUARY/═ARCH 1986
  6.  
  7.  
  8.                           ╨╟═ ├OMMAND ╙UMMARY
  9.                           -------------------
  10.  
  11. ┬┴╙┼ ┴──╥┼╙╙ = ┬┴                        ┬┴ = 33792
  12.  
  13. ┴├╘╔╓┴╘┼ ╨╟═                             ╙┘╙ ┬┴
  14.  
  15.       ┴CTIVATE INITIALIZES THE ╨╟═ OPERATING SYSTEM.  ╘HIS MUST BE
  16.       PRECEDED BY ╙┼╘ ┴──╥┼╙╙.
  17.  
  18. ─┼┴├╘╔╓┴╘┼ ╨╟═                           ╙┘╙ ┬┴ + 3
  19.  
  20.       ─EACTIVATES THE ╨╟═ OPERATING SYSTEM.
  21.  
  22. ╙┼╘ ┴──╥┼╙╙                              ╙┘╙ ┬┴ + 6,┬ITMAP LOCATION, HIRES
  23.                                          COLOR MEMORY LOCATION
  24.  
  25.       ╙┼╘ ┴──╥┼╙╙ DETERMINES WHERE IN ╥┴═ THE HIGH-RESOLUTION SCREEN AND 
  26.       ITS ASSOCIATED COLOR MEMORY RESIDE.  ╔T SHOULD BE THE FIRST ╨╟═ 
  27.       COMMAND IN YOUR PROGRAM AND IMMEDIATELY FOLLOWED BY ┴├╘╔╓┴╘┼ ╨╟═.  
  28.       ┬ITMAP SCREENS CAN BE LOCATED IN SEVERAL PLACES.  ╘HE ADDRESSES ARE 
  29.       8192 ($2000), 16384 ($4000), 20480 ($5000), 24576 ($6000), 40960 
  30.       ($┴000) AND 57344 ($┼000).  ╫E SUGGEST YOU USE 57344 (UNDER THE 
  31.       KERNAL) FOR YOUR SCREENS, BECAUSE IT WILL NOT REQUIRE YOU TO GIVE UP 
  32.       ANY PROGRAMMING ╥┴═ AND WILL STILL LEAVE ROOM FOR SPRITE DATA.  ╔F 
  33.       THE BITMAP SCREEN IS NOT UNDER ┬┴╙╔├ OR THE KERNAL, CHECK WITH THE 
  34.       ├OMMODORE 64 ╨ROGRAMMER'S ╥EFERENCE ╟UIDE FOR SAFE LOCATIONS FOR 
  35.       HIGH-RESOLUTION COLOR.  ╔F YOU ARE USING THE ╥┴═ UNDER THE KERNAL FOR 
  36.       YOUR SCREEN, 52224 IS A VERY GOOD LOCATION FOR HIGH-RESOLUTION COLOR 
  37.       MEMORY BECAUSE IT LEAVES 3╦ FREE FROM 49152-52223 FOR SPRITES AND 
  38.       CHARACTER SETS.  ╔F YOU ARE ALREADY USING THE ╥┴═ UNDER ┬┴╙╔├, THEN 
  39.       PUT YOUR COLOR MEMORY AT 32768 ($8000); BUT THERE WILL NOT BE ROOM 
  40.       FOR SPRITES IN THAT BANK.
  41.  
  42. ┬╙┴╓┼                                    ╙┘╙ ┬┴ + 9,START ADDRESS,END
  43.                                          ADDRESS,"FILENAME(,TYPE)"
  44.  
  45.       ┬╙┴╓┼ ALLOWS YOU TO SAVE SECTIONS OF ╥┴═ MEMORY TO DISK AS A FILE.  
  46.       ╘HIS IS ESPECIALLY USEFUL FOR SCREEN DATA, COLOR MEMORIES, SPRITES, 
  47.       CHARACTER DATA OR COMPRESSED DATA.
  48.  
  49. ┬╠╧┴─                                    ╙┘╙ ┬┴ + 12,LOAD ADDRESS,
  50.                                          "FILENAME(,TYPE)"
  51.  
  52.       ┬╠╧┴─ ALLOWS YOU TO LOAD ANY BINARY PROGRAM (SCREENS, SPRITES, 
  53.       CHARACTER SETS OR MACHINE CODE) FROM DISK INTO MEMORY.  ┴FTER YOU 
  54.       PERFORM A ┬╠╧┴─, THE END ADDRESS OF THE LOADED FILE CAN BE FOUND BY 
  55.       USING THE ┬┴╙╔├ STATEMENT:
  56.                    ┴─ = ╨┼┼╦ (781) + ╨EEK (782)*256
  57.       ╘HIS MUST BE DONE IMMEDIATELY AFTER ┬╠╧┴─ING THE FILE.
  58.  
  59. ─╧╙ ├╧══┴╬─╙                             ╙┘╙ ┬┴ + 15,"─╧╙ COMMAND"
  60.  
  61.        ╘HE ─╧╙ COMMANDS CAN BE ANY LEGAL DISK MAINTENANCE COMMAND.  ┼XAMPLES 
  62.        ARE:
  63.  
  64.            ╙┘╙ ┬┴ + 15,"$"                 ╠OAD A DIRECTORY TO THE SCREEN.
  65.            ╙┘╙ ┬┴ + 15,"╙0:FILENAME"       ╙CRATCH A FILE CALLED "FILENAME."
  66.            ╙┘╙ ┬┴ + 15,"╬0:DISKNAME,╔─"    ╞ORMAT A DISK.
  67.            ╙┘╙ ┬┴ + 15,""                  ╥EAD ERROR CHANNEL.
  68.  
  69. ╞╔╠╠ ═┼═╧╥┘                              ╙┘╙ ┬┴ + 18, START ADDRESS, END
  70.                                          ADDRESS, FILL VALUE
  71.  
  72.         ╞ILL MEMORY WILL PUT A GIVEN VALUE (0-255) INTO ANY SPECIFIED RANGE 
  73.         OF ╥┴═.  ┴N EXAMPLE:
  74.  
  75.         ╙┘╙ ┬┴ + 18,57344,65343,0        ├LEAR ╥┴═ UNDER ╦ERNEL
  76.  
  77. ╪╞┼╥                                     ╙┘╙ ┬┴ + 21, START ADDRESS, END
  78.                                          ADDRESS, DESTINATION, REVERSE
  79.                                          VALUE
  80.  
  81.         ╪╞┼╥ WILL TRANSFER ANY SECTION OF ╥┴═ TO ANY OTHER SECTION OF ╥┴═, 
  82.         AND CAN OPTIONALLY ┼╧╥ THAT MEMORY. ┴ REVERSE VALUE OF ZERO LEAVES
  83.         IT UNCHANGED; 255 WILL REVERSE THE AREA (LIKE A BITMAP) AND ANY
  84.         OTHER VALUE WILL ENCRYPT IT AS A FUNCTION OF THE REVERSE VALUE.
  85.  
  86. ╚╔╥┼╙ ╧╬                                 ╙┘╙ ┬┴ + 24
  87.  
  88.         ╘HIS PUTS THE COMPUTER IN HIGH-RESOLUTION MODE.  ╘HE ╙┼╘ ┴──╥┼╙╙
  89.         AND ┴├╘╔╓┴╘┼ COMMANDS SHOULD HAVE BEEN ALREADY ISSUED.
  90.  
  91. ╚╔╥┼╙ ╧╞╞                                ╙┘╙ ┬┴ + 27
  92.  
  93.         ╘HIS RETURNS THE COMPUTER TO TEXT MODE.  ╔F YOU WISH TO COMPLETELY
  94.         LEAVE ╨╟═ AND RETURN TO NORMAL ┬┴╙╔├, ISSUE A ─┼┴├╘╔╓┴╘┼ COMMAND
  95.         AFTER THIS.
  96.  
  97. ═╒╠╘╔├╧╠╧╥ ╧╬                            ╙┘╙ ┬┴ + 30
  98.  
  99.         ╘HIS PLACES THE COMPUTER IN MULTICOLOR MODE.  ╔F YOU WISH TO
  100.         DISPLAY A MULTICOLOR SCREEN, YOU SHOULD LOAD THE BITMAP WHEREVER
  101.         THE ╙┼╘ ┴──╥┼╙╙ HAS PLACED IT, PUT COLOR MEMORY 1 AT THE ADDRESS
  102.         OF HIGH-RESOLUTION COLOR AND LOAD COLOR MEMORY 2 TO 55296.
  103.  
  104. ═╒╠╘╔├╧╠╧╥ ╧╞╞                           ╙┘╙ ┬┴ + 33
  105.  
  106.         ╘HIS RETURNS THE COMPUTER TO TEXT MODE.  ╔T ACTS JUST LIKE ╚╔╥┼╙
  107.         ╧╞╞.
  108.  
  109. 80-├╧╠╒═╬ ├╚┴╥┴├╘┼╥ ─╥╔╓┼╥               ╙┘╙ ┬┴ + 36, CHAR ADDRESS, ROW,
  110.                                          COLUMN, STRING
  111.  
  112.         ╘HIS IS A SPECIAL FORM OF THE NORMAL CHARACTER DRIVER.  ╔T ALLOWS
  113.         80-COLUMN CHARACTERS TO BE USED, ALONG WITH THE OTHER TYPES OF
  114.         FONTS.  ╔T REQUIRES THE SPECIAL 80-COLUMN CHARACTER SET SUPPLIED.
  115.         ╘HE ├╚┴╥ ┴──╥┼╙╙ IS THE LOCATION IN MEMORY WHERE THE CHARACTER 
  116.         SET RESIDES.  ╥╧╫ IS THE ROW (80-24) THAT THE STRING IS TO BE 
  117.         WRITTEN TO, ├╧╠╒═╬ IS THE COLUMN (0-39) TO START PRINTING AT.
  118.         ╙╘╥╔╬╟ IS WHAT YOU WISH TO PRINT, WHICH CAN BE IN QUOTES OR IN
  119.         A STRING VARIABLE.  ╞OR 80 COLUMNS, THE STRING MUST BE OF EVEN
  120.         LENGTH (2,4,6,...). ┘OU CAN USE THE SPECIAL CHARACTER-DRIVER
  121.         CODES FOR COLOR, UNDERLINING AND DOUBLE HEIGHT.  ╘HERE IS NO
  122.         OPTION FOR DOUBLE-WIDTH 80-COLUMN CHARACTERS, BECAUSE THAT WOULD
  123.         GIVE NORMAL SIZE CHARACTERS.
  124.  
  125. ├╚┴╥┴├╘┼╥ ─╥╔╓┼╥                         ╙┘╙ ┬┴ + 39,CHAR ADDRESS, ROW,
  126.                                          COLUMN, STRING
  127.  
  128.         ╘HIS IS THE MAIN CHARACTER DRIVER.  ╔T ALLOWS YOU TO USE ANY TYPE
  129.         OF CHARACTER FONT YOU WISH AND HAVE THEM ALL ON THE SAME SCREEN AT
  130.         ONCE.  ╘HE ONLY LIMITATION ON THE NUMBER OF FONTS IS THE AMOUNT OF
  131.         ╥┴═ YOU HAVE TO USE.  ├╚┴╥ ┴──╥┼╙╙, ╥╧╫, ├╧╠╒═╬ AND ╙╘╥╔╬╟ ARE AS
  132.         IN THE 80-COLUMN CHARACTER DRIVER.  ┘OU MAY INCLUDE MOST OF THE
  133.         NORMAL CODES INSIDE THE STRING LIKE CURSORS, COLOR, REVERSE ON/OFF
  134.         AND CLEAR.  ╘HESE WORK JUST LIKE NORMAL QUOTE MODE.  ╔N ADDITION,
  135.         THERE ARE SEVERAL NEW CONTROL CODES YOU CAN USE:
  136.  
  137.            ╞1                            ─OUBLE HEIGHT ON
  138.            ╞2                            ─OUBLE HEIGHT OFF
  139.            ╞3                            ─OUBLE WIDTH ON
  140.            ╞4                            ─OUBLE WIDTH OFF
  141.            ╞5                            ╒NDERLINE ON
  142.            ╞6                            ╒NDERLINE OFF
  143.            ╞7                            ┼RASE UNDER CHARACTER
  144.            ╞8                            ─ON'T ERASE UNDER CHARACTER
  145.            ├╘╥╠ ├OLOR                    ╙ET CHARACTER COLOR
  146.            ├╘╥╠ ┬ ├OLOR                  ╙ET CHARACTER BACKGROUND COLOR
  147.  
  148.         ╔F YOU WISH TO USE THE STANDARD CHARACTER SETS, THE ├╚┴╥ ┴──╥┼╙╙
  149.         SHOULD BE 53248 (UPPERCASE/GRAPHICS) OR 55296 
  150.         (LOWERCASE/UPPERCASE).  ╧THER CHARACTER SETS CAN BE USED.  ╙IMPLY 
  151.         ┬╠╧┴─ THEM TO THE DESIRED ADDRESS IN MEMORY AND THEY CAN BE USED
  152.         WITH THE CHARACTER DRIVER COMMAND.  ╧NLY THE NORMAL UNREVERSED
  153.         CHARACTERS IN A SET ARE NEEDED SINCE REVERSE CHARACTERS CAN BE
  154.         CREATED AS NEEDED WITH THE CONTROL CODES.  ╘HIS ALLOWS YOU TO HAVE
  155.         A FULL CHARACTER SET IN ONLY HALF THE MEMORY SPACE.
  156.         ╔F YOU WANT TO SET THE FOREGROUND AND BACKGROUND COLOR WHILE
  157.         CLEARING THE SCREEN, PRECEDE THE NORMAL ├╠╥/╚╧═┼ KEY WITH "├╘╥╠
  158.         ┬/├╘╥╠ ├╧╠╧╥/├╠╥/╚╧═┼" (DO NOT TYPE IN THE SLASH MARKS) INSIDE THE
  159.         STRING.  ╘HE FIRST COLOR IS THE CHARACTER COLOR, WHILE THE SECOND
  160.         IS THE BACKGROUND COLOR.
  161.  
  162.         ╙TRING VARIABLES MUST BE LESS THAN 255 CHARACTERS (254 MAX) JUST AS
  163.         IN NORMAL ┬┴╙╔├.  ┬E CAREFUL WHEN PRINTING AT THE BOTTOM ROW (ROW
  164.         24), AS ANY ATTEMPT TO WRITE OUTSIDE THE BOUNDS OF THE SCREEN 
  165.         MEMORY CAN "CRASH" THE 64.  ╘HIS MEANS YOU SHOULD NEVER USE DOUBLE
  166.         HEIGHT CHARACTERS ON ROW 24.  ╘HE AMOUNT OF ERROR CHECKING WAS KEPT
  167.         TO A MINIMUM IN ORDER TO MAKE THIS ONE OF THE FASTEST, IF NOT THE
  168.         FASTEST, HIGH-RESOLUTION CHARACTER DRIVERS FOR THE 64
  169.  
  170.         ╔F YOU ARE USING THE AREA UNDER THE KERNEL FOR YOUR SCREEN AND THE 
  171.         CHARACTER SET(S) YOU ARE USING ARE BELOW 49152, THEN YOU CANNOT USE 
  172.         THE ─ON'T ┼RASE ╒NDER ├HARACTER OPTION (╞8).
  173.  
  174. ├╧═╨╥┼╙╙ ─┴╘┴                            ╙┘╙ ┬┴ + 42, START ADDRESS, END
  175.                                          ADDRESS, DESTINATION ADDRESS
  176.                                          (,"FILENAME (,TYPE)")
  177.  
  178.         ╘HIS COMMAND PACKS AN AREA OF MEMORY, SUCH AS A BITMAP SCREEN OR
  179.         COLOR MEMORY INTO A SMALLER DATA STRUCTURE.  ╘HE AMOUNT OF
  180.         COMPRESSION DEPENDS ON THE DATA.  ╙OME DATA WILL COMPRESS A LOT,
  181.         OTHERS ONLY A LITTLE.  ╘HE START ADDRESS IS THE BEGINNING OF THE
  182.         AREA TO COMPRESS.  ╘HE END ADDRESS IS THE LAST BYTE TO COMPRESS.
  183.         ╘HE DESTINATION ADDRESS CAN BE ANY AREA OF ╥┴═ YOU WISH TO STORE IT
  184.         IN.  ╔F THE DESTINATION ADDRESS IS ZERO, THEN THE DATA IS WRITTEN
  185.         TO THE DISK AND THE FILE NAME IS REQUIRED.  ╔F YOU PACK TO ╥┴═
  186.         (DESTINATION ADDRESS IS NOT ZERO), THEN THE ADDRESS OF THE LAST
  187.         BYTE OF PACKED DATA IS RETURNED IN LOCATIONS 781 AND 782 AND CAN BE
  188.         CALCULATED AS:
  189.  
  190.               ╞INAL ADDRESS = ╨┼┼╦(781) + ╨┼┼╦(782)*256
  191.  
  192.         ╫HILE IN MOST CASES YOUR COMPRESSED DATA WILL BE MUCH SMALLER THAN
  193.         THE ORIGINAL, IT IS POSSIBLE FOR IT TO BE ONLY SLIGHTLY COMPRESSED
  194.         AND IN RARE CASES IT COULD BECOME LARGER.  ╘HESE DEVIATIONS OCCUR
  195.         ONLY WHEN THE DATA IS NON-REPEATING (EVERY BYTE IS DIFFERENT).
  196.  
  197. ╒╬├╧═╨╥┼╙╙ ─┴╘┴                          ╙┘╙ ┬┴ + 45, START ADDRESS,
  198.                                          DESTINATION ADDRESS (,"FILENAME
  199.                                          (,TYPE)")
  200.  
  201.         ╔F THE START ADDRESS IS ZERO, THEN THE DATA FILE GIVEN IN THE FILE
  202.         NAME WILL BE UNPACKED FROM DISK TO THE DESTINATION ADDRESS.  ╞OR AN
  203.         AREA OF MEMORY LIKE A BITMAP SCREEN, ├╧═╨╥┼╙╙ ─┴╘┴ AND ╒╬├╧═╨╥┼╙╙
  204.         ─┴╘┴ TAKE LESS THAN A SECOND TO WORK.
  205.  
  206. ├╧╨┘ ╫╔╬─╧╫                              ╙┘╙ ┬┴ + 48, DESTINATION ADDRESS,
  207.                                          ROW, COLUMN, DELTA ROW, DELTA
  208.                                          COLUMN
  209.  
  210.         ╘HIS COMMAND WILL STORE THE CONTENTS OF A WINDOW (INCLUDING COLOR) 
  211.         TO THE DESTINATION ADDRESS IN ╥┴═. ╥╧╫ (0-24) AND ├╧╠╒═╬ (0-39) ARE 
  212.         THE STARTING ROW AND COLUMN TO COPY.  ─┼╠╘┴ ╥╧╫ (1-25) AND ─┼╠╘┴
  213.         ├╧╠╒═╬ (1-40) ARE THE DIMENSIONS OF THE WINDOW YOU WISH TO COPY.
  214.         ╘HE LAST ADDRESS USED IN ╥┴═ IS CONTAINED IN LOCATIONS 781 AND 782.
  215.  
  216.              ╠AST ADDRESS = ╨┼┼╦(781)+╨┼┼╦(782)*256
  217.  
  218. ╥┼╙╘╧╥┼ ╫╔╬─╧╫                            ╙┘╙ ┬┴ + 51,START ADDRESS, ROW,
  219.                                           COLUMN
  220.  
  221.         ╘HIS WILL RESTORE A COPIED WINDOW AT ╙╘┴╥╘ ┴──╥┼╙╙ TO THE SCREEN
  222.         STARTING AT THE ╥╧╫ (0-24) AND ├╧╠╒═╬ (0-39) GIVEN.
  223.  
  224. ╨╠╧╘                                     ╙┘╙ ┬┴ + 54,╪,┘(,╞├,┬├)
  225.  
  226.         ╨LOTS A POINT ON THE HIGH-RESOLUTION SCREEN AT ╪ (0-319) AND ┘
  227.         (0-199).  ┘OU CAN OPTIONALLY INCLUDE A FOREGROUND COLOR (╞├) AND
  228.         BACKGROUND COLOR (┬├). (├OLORS ARE 1-15.)
  229.  
  230. ╒╬╨╠╧╘                                   ╙┘╙ ┬┴ + 57,╪,┘
  231.  
  232.         ╒NPLOTS A POINT AT THE GIVEN SCREEN ╪ (0-319) AND ┘ (0-199).
  233.  
  234. ─╥┴╫                                     ╙┘╙ ┬┴ + 60,╪1,┘1,╪2,┘2(,╞├,┬├)
  235.  
  236.         ╨LACES A LINE BETWEEN POINTS ╪1,┘1 AND ╪2,┘2 WHERE ╪ IS 0-319 AND
  237.         ┘ IS 0-199.  ╞OREGROUND AND BACKGROUND COLORS ARE OPTIONAL.
  238.  
  239. ╒╬─╥┴╫                                   ╙┘╙ ┬┴ + 63,╪1,┘1,╪2,┘2
  240.  
  241.         ╒NDRAWS A LINE BETWEEN THE GIVEN POINTS.  ╪ IS 0-319 AND ┘ IS 
  242.         0-199.
  243.  
  244. ┬╔╘═┴╨ ╞╔╠╠                              ╙┘╙ ┬┴ + 66,╪,┘(,╞├,┬├)
  245.  
  246.         ╘HIS PAINTS AN ENCLOSED AREA OF THE SCREEN SPECIFIED BY ╪ AND ┘.
  247.         ╞OREGROUND AND BACKGROUND COLORS ARE OPTIONAL.
  248.  
  249. ╙╨╠╔╘ ┬╧╥─┼╥                             ╙┘╙ ┬┴ + 69,┬─├1,┬─├2
  250.  
  251.         ╘HIS ALLOWS YOU TO HAVE TWO BORDER COLORS VISIBLE AT ONCE.  ╔T
  252.         IS EFFECTIVE ONLY IN 14-SPRITE MODE.  ├OLORS CAN BE 0-15.  ╘HE
  253.         COLORS ARE SPLIT AT THE SCAN LINE (SEE 14-╙╨╥╔╘┼ ═╧─┼.)
  254.  
  255. 3─ ┬┴╥                                   ╙┘╙ ┬┴ + 72,╪,┘,─╪,─┘,╚╘(,╞├,┬├)
  256.  
  257.         3─ ┬┴╥ ALLOWS YOU TO "GROW" A THREE DIMENSIONAL BAR.  ╔T CAN ALSO
  258.         BE USED FOR CUBES OR OTHER 3─ RECTANGULAR SHAPES.  ╪ IS THE ╪
  259.         COORDINATE OF THE LOWER LEFT CORNER.  ─╪ IS THE HORIZONTAL LENGTH
  260.         OF THE BAR (0-255), ─┘ IS THE DEPTH (0-199) AND ╚╘ IS THE HEIGHT OF
  261.         THE 3─ BAR (0-199).  ╞OREGROUND AND BACKGROUND COLORS ARE OPTIONAL.
  262.         ╘HE 3─ ┬┴╥ COMMAND HAS EXTENSIVE ERROR CHECKING AND WILL NOT DRAW
  263.         OUTSIDE THE SCREEN BOUNDARY.
  264.  
  265. ┼╔╟╚╘-╙╨╥╔╘┼ ═╧─┼                        ╙┘╙ ┬┴ + 75
  266.  
  267.         ╘HIS DE-ACTIVATES 14-SPRITE MODE.  ╞OR BEST RESULTS, YOU SHOULD 
  268.         TURN OFF ALL SPRITES, CEASE ANIMATION (IF ANY) AND POSITION SPRITES
  269.         OFF-SCREEN BEFORE GIVING THIS COMMAND.
  270.  
  271. 14-╙╨╥╔╘┼ ═╧─┼                           ╙┘╙ ┬┴ + 78,╙├┴╬╠╔╬┼ 1,╙├┴╬╠╔╬┼ 2
  272.  
  273.       
  274.         ╘HIS ACTIVATES ╨╟═'S 14-SPRITE MODE.  ╘HIS MODE ALLOWS THE 
  275.         PROGRAMMER AN EXTRA SIX SPRITES BY USING ADVANCED SYSTEM INTERRUPT 
  276.         TECHNIQUES.  ╘HE ╙├┴╬╠╔╬┼'S ARE THE POSITION WHERE THE INTERRUPTS 
  277.         TAKE PLACE. ╙├┴╬╠╔╬┼ 1 CAN BE PLACED ANYWHERE BETWEEN 0 AND 255, 
  278.         WHILE ╙├┴╬╠╔╬┼ 2 CAN ALSO BE BETWEEN 0 AND 255.  ╞OR BEST RESULTS, 
  279.         USE 150 FOR ╙├┴╬╠╔╬┼ 1 AND 255 FOR ╙├┴╬╠╔╬┼ 2.  ┘OU MAY NEED TO
  280.         VARY THEM AS YOUR PROGRAM REQUIRES.
  281.  
  282.         ╘HIS MODE OFFERS YOU SEVERAL UNIQUE PROPERTIES, BUT CARE MUST BE 
  283.         TAKEN WHEN USING IT.  ╘HE SPRITES WILL BE NUMBERED FROM 0-13.  
  284.         ╙PRITES 0-6 ARE IN THE TOP OF THE SCREEN ABOVE ╙├┴╬╠╔╬┼ 1 AND 
  285.         SPRITES 7-13 ARE AT THE BOTTOM, BELOW ╙├┴╬╠╔╬┼ 1. ╙PRITES 0 AND 13 
  286.         CAN CROSS THE BOUNDARY, BUT SPRITES 1-12 MUST STAY ON THEIR 
  287.         RESPECTIVE SIDES.  ┘OU CANNOT USE THE ┴╬╔═┴╘┼ COMMAND TO MOVE A 
  288.         SPRITE ACROSS THE BOUNDARY, BUT THE ╙╨╥╔╘┼ ╨╠╧╘ COMMAND WILL ALLOW 
  289.         SPRITES 0 AND 13 TO CROSS.  ╘HE ╩╧┘╙╘╔├╦ COMMAND CAN ALSO BE USED
  290.         TO MOVE SPRITES 0 AND 13 ACROSS THE BOUNDARY.
  291.  
  292.         ╔F YOU ATTEMPT TO MOVE A "SHARED SPRITE" (SPRITES 1-12) ACROSS 
  293.         ╙├┴╬╠╔╬┼ 1, THE RESULTS ARE UNPREDICTABLE.  ╔F YOU WISH, YOU CAN
  294.         USE THE ┴╬╔═┴╘┼ COMMAND TO MOVE SPRITES 0-7 ABOVE ╙├┴╬╠╔╬┼ 1.  ╔F
  295.         YOU ARE ANIMATING SPRITE 7 WHILE IN THE 14-SPRITE MODE, YOU CANNOT
  296.         USE SPRITE 13.  (╘HEY ARE REALLY THE SAME SPRITE.)  ╘HERE IS NO 
  297.         PRIVISION FOR ANIMATING SPRITES 8-13.  ╞INALLY, IF YOU PUT TOO MUCH 
  298.         STRAIN ON THE INTERRUPT (BY MOVING EIGHT SPRITES AT FULL SPEED WITH 
  299.         THE ┴╬╔═┴╘┼ COMMAND WHILE IN 14-SPRITE MODE), IT COULD CAUSE SOME 
  300.         SPRITE FLICKER.  ╘O AVOID THIS, KEEP THE ANIMATED SPRITES AWAY FROM 
  301.         THE SCANLINES AND USE SPEEDS NO FASTER THAN NECESSARY.
  302.  
  303.         ╔F YOU ARE GOING TO USE THIS MODE, DO ALL YOUR SPRITE DEFINITIONS 
  304.         AND PLOTTING AFTER ACTIVATING IT.  ╘HE INFORMATION FOR SPRITES
  305.         0-13 IS KEPT IN TABLES AND THESE ARE NOT UPDATED UNTIL THE MODE IS 
  306.         ACTIVE.  ┘OU SHOULD ALSO TURN OFF ALL SPRITES BEFORE EXITING THIS 
  307.         MODE.
  308.  
  309. ╙╨╥╔╘┼ ╧╬/╧╞╞                            ╙┘╙ ┬┴ + 81, 0 OR 1,SPRITE #
  310.                                          (,SPRITE#...)
  311.  
  312.         ╘HIS TURNS ONE OR MORE SPRITES OFF AND ON. ╒SE A ZERO TO TURN THEM
  313.         OFF AND A ONE TO TURN THEM ON.  ┘OU CAN TURN ON OR OFF MORE THAN
  314.         ONE BY SEPARATING THE SPRITE NUMBERS WITH COMMAS, OR TURN ALL OF
  315.         THEM ON OR OFF BY USING 255 FOR THE SPRITE NUMBER.
  316.  
  317. ╙╨╥╔╘┼ ─┼╞╔╬┼                            ╙┘╙ ┬┴ + 84,SPRITE #,╨╥,╪╪,┘╪,
  318.                                          MODE,├1(,├2,├3)
  319.  
  320.         ╘HIS DEFINES A SPRITE.  ╘HE SPRITE NUMBER IS THE SPRITE (0-7 IN 
  321.         EIGHT-SPRITE MODE, 0-13 IN 14-SPRITE MODE).  ╨╥ IS THE SPRITE 
  322.         BACKGROUND PRIORITY.  ┴ ZERO MAKES THE SPRITE APPEAR IN FRONT OF 
  323.         SCREEN DATA, WHILE A ONE MAKES IT GO BEHIND.  ╪╪ AND ┘╪ ARE ╪
  324.         EXPAND AND ┘ EXPAND.  ┴ ONE WILL CAUSE THEM TO EXPAND; ZERO LEAVES
  325.         THEM UNCHANGED.  "═ODE" IS HIGH-RES OR MULTICOLOR, WHERE ZERO
  326.         INDICATES A HIGH-RESOLUTION SPRITE AND ONE A MULTICOLOR SPRITE.  ├1
  327.         IS THE SPRITE'S COLOR AND ├2 AND ├3 ARE THE COLORS FOR MULTICOLOR
  328.         SPRITES AND ARE NEEDED ONLY FOR THOSE.
  329.  
  330. ╙╨╥╔╘┼ ╨╠╧╘                              ╙┘╙ ┬┴ + 87,╙╨#,╪,┘,╨╘(,├)
  331.  
  332.         ╘HIS IS AN ABSOLUTE SPRITE MOVEMENT COMMAND.  ╔T WILL LOCATE A
  333.         GIVEN SPRITE (0-13) AT AN ╪ (0-512) AND ┘ (0-255).  ┘OU MUST
  334.         INCLUDE A POINTER (0-255) AND HAVE THE OPTION FOR A COLOR (0-15).
  335.         ╘HE SPRITE DATA MUST BE WITHIN THE 16╦ BANK WHERE YOUR SCREEN IS
  336.         LOCATED.
  337.  
  338. ╙╨╥╔╘┼ ╥┼╞╠┼├╘                           ╙┘╙ ┬┴ + 90,STARTING POINTER,
  339.                                          # OF SPRITES(,DESTINATION
  340.                                          POINTER)
  341.  
  342.         ╘HIS REFLECTS ONE OR MORE SPRITES, BEGINNING AT A STARTING POINTER 
  343.         (0-1023) FOR A GIVEN NUMBER OF POINTERS.  ┘OU HAVE THE OPTION OF 
  344.         DESIGNATING A DESTINATION POINTER (0-1023) WHERE THE NEWLY
  345.         REFLECTED SPRITES WILL BE STORED.  ╔F NO DESTINATION IS GIVEN, THEY
  346.         ARE STORED BEGINNING AT THE STARTING POINTER.  ╘HE SPRITE POINTERS
  347.         CAN BE ANYWHERE IN THE 64╦ OF THE COMPUTER'S MEMORY, WHICH IS WHY
  348.         YOU HAVE TO 0-1023 VALUE. 
  349.  
  350. ╙╨╥╔╘┼ ╥┼╓┼╥╙┼                           ╙┘╙ ┬┴ + 93,STARTING POINTER,
  351.                                          # OF SPRITES(,DESTINATION
  352.                                          POINTER)
  353.  
  354.         ╘HIS WILL REVERSE A GIVEN NUMBER OF SPRITES.  ╔T WORKS JUST LIKE
  355.         ╙╨╥╔╘┼ ╥┼╞╠┼├╘.
  356.  
  357. ╙╨╥╔╘┼ ╪╞┼╥                              ╙┘╙ ┬┴ + 96, STARTING POINTER,
  358.                                          # OF SPRITES, DESTINATION
  359.                                          POINTER
  360.  
  361.         ╘HIS TRANSFERS A SPRITE OR SERIES OF SPRITES BEGINNING AT A
  362.         STARTING POINTER (0-1023) TO A DESTINATION POINTER (0-1023).  ╘HIS
  363.         IS VERY USEFUL WHEN YOU NEED MORE SPRITES THAN YOU HAVE ROOM FOR IN
  364.         THE 16╦ BANK OF YOUR SCREEN.  ┘OU CAN TRANSFER THEM IN AS NEEDED,
  365.         USING THE SAME AREA FOR EACH.
  366.  
  367. ┴╬╔═┴╘┼                                  ╙┘╙ ┬┴ + 99,╙╨#,╪,┘,╙╨─(,┬╨,
  368.                                          ┼╨,═╨╙(,╞┬╨,╞┼╨,╞╙╨))
  369.  
  370.         ╘HIS COMMAND ALLOWS YOU TO AUTOMATICALLY MOVE AND ANIMATE SPRITES
  371.         0-7 WITHOUT ANY INTERVENTION FROM ┬┴╙╔├ ONCE THE COMMAND IS GIVEN.
  372.         ╙╨# IS THE SPRITE NUMBER (0-7), ╪ IS THE ╪ LOCATION TO GO TO
  373.         (0-512), ┘ IS THE ┘ LOCATION (0-255) AND ╙╨─ IS THE ANIMATE SPEED
  374.         (0-255).  ╧NE IS THE FASTEST SPEED AND 255 IS THE SLOWEST.  ┌ERO
  375.         WILL CAUSE IT TO NOT ANIMATE.  ╘HE FIRST SET OF OPTIONAL PARAMETERS
  376.         ARE FOR THE INTERNAL ANIMATION, WHILE THE SPRITE IS MOVING TO
  377.         LOCATION ╪,┘.  ┬╨ IS THE BEGINNING POINTER AND ┼╨ IS THE ENDING
  378.         POINTER.  ═╨╙ IS THE MOVING POINTER SPEED (0-255), WHERE, AGAIN,
  379.         ONE IS THE FASTEST, 255 THE SLOWEST AND ZERO WILL STOP THE INTERNAL
  380.         ANIMATION.  ╘HIS WILL ALLOW A SPRITE TO CHANGE ITS POINTER (WHICH
  381.         POINTS TO ITS SHAPE) DYNAMICALLY WHILE IT IS MOVING.  ╘HE MOVING
  382.         POINTER SPEED (═╨╙) IS HOW FAST TO CHANGE THE POINTER WHILE MOVING.
  383.         ╘HESE POINTERS MUST BE IN CONSECUTIVE ORDER.  ╘HE FINAL SET OF
  384.         OPTIONS DICTATES WHAT HAPPENS WHEN THE SPRITE REACHES ITS
  385.         DESTINATION. ╘HEY ALLOW IT TO START ANOTHER INTERNAL ANIMATION
  386.         SEQUENCE AT ANOTHER GIVEN SPEED.  ╞┬╨ IS THE FINAL BUFFER POINTER
  387.         AFTER THE DESTINATION IS REACHED, ╞┼╨ IS THE FINAL ENDING POINTER
  388.         AND ╞╙╨ IS THE FINAL POINTER-CHANGE SPEED.  ┴LL POINTERS ARE 0-255,
  389.         WHILE BOTH SPEEDS ARE 0-255, WITH ONE THE FASTEST AND 255 THE
  390.         SLOWEST.
  391.  
  392. ├┼┴╙┼ ┴╬╔═┴╘╔╧╬                          ╙┘╙ ┬┴ + 102,╙╨#,╨╘
  393.  
  394.         ╘HIS CAUSES A SPRITE (0-7) TO STOP ANIMATING AND QUIT AT A
  395.         SPECIFIED POINTER, ╨╘ (0-255). ╔T IS RECOMMENDED THAT YOU ISSUE A
  396.         ├┼┴╙┼ ┴╬╔═┴╘┼ COMMAND AFTER FINISHING YOUR ANIMATION SEQUENCE.
  397.  
  398. ╩╧┘╙╘╔├╦ ╧╬                              ╙┘╙ ┬┴ + 105,╙╨#,SPEED
  399.  
  400.         ╘HIS IS THE MOUSE EMULATOR.  ╙╨# CAN BE ANY SPRITE FROM 0-13 AND
  401.         SPEED IS FROM 0-255.  ╘HIS SPEED IS THE NUMBER OF PIXELS THE SPRITE
  402.         WILL BE MOVED EACH TIME THE JOYSTICK IS USED.  ┘OU CAN ALSO USE THE
  403.         CURSOR KEYS INSTEAD OF THE JOYSTICK.  ╔N 14-SPRITE MODE, ALL THE
  404.         SPRITES WILL WORK BUT ONLY SPRITES 0 AND 13 CAN CROSS THE SCANLINE
  405.         BOUNDARY.
  406.  
  407. ╩╧┘╙╘╔├╦ ╧╞╞                             ╙┘╙ ┬┴ + 108
  408.  
  409.         ╘HIS DE-ACTIVATES THE JOYSTICK MOUSE EMULATOR.
  410.  
  411. ├╧╠╧╥ ╫╔╬─╧╫                             ╙┘╙ ┬┴ + 111,ROW,COLUMN,─ROW,
  412.                                          ─COLUMN,╞├,┬├
  413.  
  414.         ╘HIS FILLS A WINDOW WITH A SPECIFIED COLOR COMBINATION.  ╥╧╫ IS THE
  415.         STARTING ROW (0-24) AND ├╧╠╒═╬ IS THE STARTING COLUMN (0-39).  ─╥╧╫
  416.         IS THE NUMBER OF ROWS DOWN (1-25) AND ─├╧╠╒═╬ IS THE NUMBER OF
  417.         COLUMNS OVER (1-40).  ╞├ AND ┬├ ARE FOREGROUND AND BACKGROUND
  418.         COLORS.
  419.  
  420. ╥┼╓┼╥╙┼ ╫╔╬─╧╫                           ╙┘╙ ┬┴ + 114,REVERSE VALUE,
  421.                                          ROW,COLUMN,─ROW,─COLUMN
  422.  
  423.         ╘HIS WILL REVERSE THE BITMAP WITHIN A WINDOW DEFINED BY ╥╧╫ (0-24),
  424.         ├╧╠╒═╬ (0-39), ─╥╧╫ (1-25) ┴╬─ ─├╧╠╒═╬ (1-40). ╘HE REVERSE VALUE
  425.         SHOULD BE 255.  ┴NY OTHER VALUE CAN BE USED FOR UNUSUAL EFFECTS IN
  426.         THE WINDOW DISPLAY.
  427.  
  428. ╞╔╠╠ ╫╔╬─╧╫                              ╙┘╙ ┬┴ + 117,FILL VALUE,ROW,
  429.                                          COLUMN,─ROW,─COLUMN
  430.  
  431.         ╘HIS IS USED TO SELECTIVELY FILL A WINDOW'S BITMAP.  ┴ FILL VALUE
  432.         OF ZERO WOULD CLEAR IT, WHILE 255 WOULD MAKE IT SOLID.  ╧THER
  433.         VALUES CAN BE USED FOR SPECIAL EFFECTS.  ╥╧╫ OS 0-24, ├╧╠╒═╬ IS
  434.         0-39, ─╥╧╫ IS 1-25 AND ─├╧╠╒═╬ IS 1-40.
  435.  
  436. ─╔╥┼├╘╧╥┘ ╥┼┴─┼╥                         ╙┘╙ ┬┴ + 120
  437.  
  438.         ╘HIS WILL RETURN A STRING OF 32 CHARACTERS THAT CONTAINS A FILE
  439.         NAME FROM YOUR DISK DIRECTORY.  ╘HE STRING SHOULD BE DEFINED BEFORE
  440.         ANY OTHER VARIABLE IN YOUR PROGRAM AS A STRING OF 32 SPACES.  ╘HIS
  441.         REQUIRES SOME SETUP IN YOUR ┬┴╙╔├, BUT ENABLES YOU TO PLACE THE
  442.         DIRECTORY OF A DISK INTO VARIABLES WITHIN YOUR PROGRAM.  ╔T IS ALSO
  443.         VERY FAST.  ╥EFER TO THE SMALL PROGRAM CALLED ─╔╥┼├╘╧╥┘ ╥┼┴─┼╥ FOR
  444.         PROGRAMMING INFORMATION ON THIS FUNCTION.
  445.  
  446.  
  447.  
  448. ╘HIS FILE WAS PAINSTAKINGLY TYPED IN BY ╘HE ╙HARK! FROM THE ╨╟═ ARTICLE IN 
  449. THE ╞EB./═ARCH 1986 ├OMMODORE ╨OWER/╨LAY MAGAZINE BY ─AVID ╨. ─ARUS, ╦EN 
  450. ╞RENCH, AND ╠OUIS ╥. ╫ALLACE.  ╘HE PROGRAM HAS BEEN GRACIOUSLY PLACED IN 
  451. THE PUBLIC DOMAIN BY THE AUTHORS.  ╞OR AN OVERVIEW OF ╨╟═-64, TIPS ON ITS 
  452. USE, AND MEMORY MAP, SEE ╨╟═ ╧╓┼╥╓╔┼╫.─╧├.
  453.